package extends1demo;

public class Test {
    private String name;
    private char sex;
    private String school;
    //默认无参数构造器
    public Test(String name, char sex) {
        //this(); 调用兄弟构造器 在构造器中调用本类其他构造器
        this(name, sex, "调用兄弟构造器，默认学校值");
    }
    public Test(String name, char sex,String school) {
        this.name = name;
        this.sex = sex;
        this.school = school;
    }
    public static void main(String[] args) {
        // 目标：认识继承，好处。
        // 1、创建对象，封装老师数据
        // 子类可以继承父类的非私有成员。
        // 子类对象其实是由子类和父类多张设计图共同创建出来的对象，所以子类对象是完整的。
        Teacher t = new Teacher();
        t.setName("张三");
        t.setSex('男');
        t.setSkill("讲课");
        System.out.println(t.getName());
        System.out.println(t.getSkill());
        System.out.println(t.getSex());

        //2.目标：认识四种权限修饰符的修饰范围。 private < default < protected < public
//        t.privateMethod();  private私有方法不能访问
        t.method();
        t.protectedMethod();
        t.publicMethod();

        //3.目标：继承的注意事项：继承的特点。
        // 1、java的类只能是单继承的，不支持多继承(class C extends A,B{} 不可以，假设可以，A有个method，B也有个method方法，如果支持多继承，C不知道该继承谁的method)，支持多层继承
        // 2、一个类要么直接继承Object，要么默认继承Object，要么间接继承Object
        //3.继承后子类访问特点：就近原则

        //4.兄弟构造器 this :调用本类中的其他构造器，就是为了有个默认传参



    }

}

